package com.yunji.order.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author : peter-zhu
 * @date : 2025/3/31 15:51
 * @description : TODO
 **/
@Data
public class TradeVO {
    @ApiModelProperty(value = "交易ID")
    private Long tradeId;

    @ApiModelProperty("账户id")
    private Long accountId;

    @Excel(name = "账户类型", width = 10)
    @ApiModelProperty("账户类型")
    private String accountType;

    @ApiModelProperty("账户类型描述")
    private String accountTypeDesc;

    @Excel(name = "账户名称", width = 10)
    @ApiModelProperty("账户名称")
    private String accountName;

    @ApiModelProperty("手机号")
    private String accountTel;

    @ApiModelProperty("交易模式/交易类型 0-收益 1-提现 2-退款")
    private Integer tradeMode;

    @Excel(name = "交易模式")
    @ApiModelProperty("交易模式/交易类型 的描述")
    private String tradeModeDesc;

    @ApiModelProperty(hidden = true)
    @Excel(name = "交易类型", readConverterExp = "11=免费,12=钱包充值,13=钱包提现,21=代理费用,22=员工分成,23=产品收益,24:代理费用退款,25=员工分成退款,26=商品收益退款")
    private Integer tradeType;

    @ApiModelProperty("支付类型 (0:支出;1:收入; 注: 以个人钱包支出收入判断)")
    private Integer payType;

    @ApiModelProperty("支付类型描述")
    private String payTypeDesc;

    @Excel(name = "交易金额", width = 10)
    @ApiModelProperty("交易金额")
    private BigDecimal tradeAmount;

    @ApiModelProperty("支付方式 (0:余额支付;1:微信支付;2:支付宝;)")
    private Integer payMode;

    @ApiModelProperty("支付方式描述")
    private String payModeDesc;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交易时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("交易时间")
    private Date createTime;

    @ApiModelProperty(value = "平台流水号")
    @Excel(name = "平台流水号", width = 30)
    private String transactionNo;

    @Excel(name = "第三方流水号", width = 10)
    @ApiModelProperty("第三方交易流水号/第三方流水号")
    private String apiCode;

    @Excel(name = "第三方支付时间", width = 10)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("第三方交易时间/妈的非要叫第三方支付时间 那退款怎么说")
    private Date apiTime;

    @ApiModelProperty("openId")
    private String openId;
}
